home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / Terminals.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  13.4 KB  |  372 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        Terminals.mod
  3.  
  4.      Contains:    Communications Toolbox Terminal tool Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE Terminals;
  23.  
  24. IMPORT SYSTEM, Types, Quickdraw, Events, Dialogs, Connections;
  25.  
  26. (* $PUSH*)
  27. (* $ALIGN MAC68K*)
  28. (* $LibExport+*)
  29.  
  30. CONST
  31. (* current Terminal Manager version     *)
  32.     curTMVersion*                = 2;
  33. (* current Terminal Manager Environment Record version     *)
  34.     curTermEnvRecVers*            = 0;
  35. (* error codes    *)
  36.     tmGenericError*                = -1;
  37.     tmNoErr*                        = 0;
  38.     tmNotSent*                    = 1;
  39.     tmEnvironsChanged*            = 2;
  40.     tmNotSupported*                = 7;
  41.     tmNoTools*                    = 8;
  42.  
  43.     
  44. TYPE
  45.     TMErr* = Types.OSErr;
  46.  
  47.  
  48. CONST
  49.     tmInvisible*                    = ASH(1,0);
  50.     tmSaveBeforeClear*            = ASH(1,1);
  51.     tmNoMenus*                    = ASH(1,2);
  52.     tmAutoScroll*                = ASH(1,3);
  53.     tmConfigChanged*                = ASH(1,4);
  54.  
  55.     
  56. TYPE
  57.     TMFlags* = LONGINT;
  58.  
  59.  
  60. CONST
  61.     selTextNormal*                = ASH(1,0);
  62.     selTextBoxed*                = ASH(1,1);
  63.     selGraphicsMarquee*            = ASH(1,2);
  64.     selGraphicsLasso*            = ASH(1,3);
  65.     tmSearchNoDiacrit*            = ASH(1,8);
  66.     tmSearchNoCase*                = ASH(1,9);
  67.  
  68.     
  69. TYPE
  70.     TMSearchTypes* = INTEGER;
  71.  
  72.     TMSelTypes* = INTEGER;
  73.  
  74.  
  75. CONST
  76.     cursorText*                    = 1;
  77.     cursorGraphics*                = 2;
  78.  
  79.     
  80. TYPE
  81.     TMCursorTypes* = INTEGER;
  82.  
  83.  
  84. CONST
  85.     tmTextTerminal*                = ASH(1,0);
  86.     tmGraphicsTerminal*            = ASH(1,1);
  87.  
  88.     
  89. TYPE
  90.     TMTermTypes* = INTEGER;
  91.  
  92.     TermDataBlock* = RECORD
  93.         flags*:                    TMTermTypes;
  94.         theData*:                Types.Handle;
  95.         auxData*:                Types.Handle;
  96.         reserved*:                LONGINT;
  97.     END;
  98.  
  99.     TermDataBlockPtr* = POINTER TO TermDataBlock;
  100.     TermDataBlockH* = HANDLE TO TermDataBlock (*ΔΔ POINTER TO TermDataBlockPtr*);
  101.     TermDataBlockHandle* = HANDLE TO TermDataBlock (*ΔΔ POINTER TO TermDataBlockPtr*);
  102.  
  103.     TermEnvironRec* = RECORD
  104.         version*:                INTEGER;
  105.         termType*:                TMTermTypes;
  106.         textRows*:                INTEGER;
  107.         textCols*:                INTEGER;
  108.         cellSize*:                Types.Point;
  109.         graphicSize*:            Types.Rect;
  110.         slop*:                    Types.Point;
  111.         auxSpace*:                Types.Rect;
  112.     END;
  113.  
  114.     TermEnvironPtr* = POINTER TO TermEnvironRec;
  115.  
  116.     TMSelection* = RECORD
  117.         (*ΔΔ CASE INTEGER OF
  118.         0: ( *)
  119.     END;
  120.     TMSelectionRect* = RECORD(TMSelection)
  121.             selRect*:                    Types.Rect;
  122.            (*ΔΔ );
  123.         1: ( *)
  124.     END;
  125.     TMSelectionRgn* = RECORD(TMSelection)
  126.             selRgnHandle*:                Quickdraw.RgnHandle;
  127.            (*ΔΔ );*)
  128.     END;
  129.  
  130.     TermPtr* = POINTER TO TermRecord;
  131.     TermHandle* = HANDLE TO TermRecord (*ΔΔ POINTER TO TermPtr*);
  132.  
  133.     TerminalSendProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (thePtr: Types.Ptr; theSize: LONGINT; refCon: LONGINT; flags: Connections.CMFlags): LONGINT;
  134.     TerminalBreakProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (duration: LONGINT; refCon: LONGINT);
  135.     TerminalCacheProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (refCon: LONGINT; theTermData: TermDataBlockPtr): LONGINT;
  136.     TerminalSearchCallBackProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (hTerm: TermHandle; refNum: INTEGER; VAR foundRect: Types.Rect);
  137.     TerminalClikLoopProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (refCon: LONGINT): BOOLEAN;
  138.     TerminalEnvironsProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (refCon: LONGINT; VAR theEnvirons: TermEnvironRec): Connections.CMErr;
  139.     TerminalChooseIdleProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE;
  140.     TerminalToolDefProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (hTerm: TermHandle; msg: INTEGER; p1: LONGINT; p2: LONGINT; p3: LONGINT): LONGINT;
  141.     TerminalSendUPP* = Types.UniversalProcPtr;
  142.     TerminalBreakUPP* = Types.UniversalProcPtr;
  143.     TerminalCacheUPP* = Types.UniversalProcPtr;
  144.     TerminalSearchCallBackUPP* = Types.UniversalProcPtr;
  145.     TerminalClikLoopUPP* = Types.UniversalProcPtr;
  146.     TerminalEnvironsUPP* = Types.UniversalProcPtr;
  147.     TerminalChooseIdleUPP* = Types.UniversalProcPtr;
  148.     TerminalToolDefUPP* = Types.UniversalProcPtr;
  149.  
  150.     TermRecord* = RECORD
  151.         procID*:                    INTEGER;
  152.         flags*:                    TMFlags;
  153.         errCode*:                TMErr;
  154.         refCon*:                    LONGINT;
  155.         userData*:                LONGINT;
  156.         defProc*:                TerminalToolDefUPP;
  157.         config*:                    Types.Ptr;
  158.         oldConfig*:                Types.Ptr;
  159.         environsProc*:            TerminalEnvironsUPP;
  160.         reserved1*:                LONGINT;
  161.         reserved2*:                LONGINT;
  162.         tmPrivate*:                Types.Ptr;
  163.         sendProc*:                TerminalSendUPP;
  164.         breakProc*:                TerminalBreakUPP;
  165.         cacheProc*:                TerminalCacheUPP;
  166.         clikLoop*:                TerminalClikLoopUPP;
  167.         owner*:                    Quickdraw.WindowPtr;
  168.         termRect*:                Types.Rect;
  169.         viewRect*:                Types.Rect;
  170.         visRect*:                Types.Rect;
  171.         lastIdle*:                LONGINT;
  172.         selection*:                TMSelection;
  173.         selType*:                TMSelTypes;
  174.         mluField*:                LONGINT;
  175.     END;
  176.  
  177. CONST
  178.     uppTerminalSendProcInfo* = $00002FF0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 2 byte param): 4 byte result; *)
  179.     uppTerminalBreakProcInfo* = $000003C0; (* PROCEDURE (4 byte param, 4 byte param); *)
  180.     uppTerminalCacheProcInfo* = $000003F0; (* PROCEDURE (4 byte param, 4 byte param): 4 byte result; *)
  181.     uppTerminalSearchCallBackProcInfo* = $00000EC0; (* PROCEDURE (4 byte param, 2 byte param, 4 byte param); *)
  182.     uppTerminalClikLoopProcInfo* = $000000D0; (* PROCEDURE (4 byte param): 1 byte result; *)
  183.     uppTerminalEnvironsProcInfo* = $000003E0; (* PROCEDURE (4 byte param, 4 byte param): 2 byte result; *)
  184.     uppTerminalChooseIdleProcInfo* = $00000000; (* PROCEDURE ; *)
  185.     uppTerminalToolDefProcInfo* = $0000FEF0; (* PROCEDURE (4 byte param, 2 byte param, 4 byte param, 4 byte param, 4 byte param): 4 byte result; *)
  186.  
  187. PROCEDURE NewTerminalSendProc*(userRoutine: TerminalSendProcPtr): TerminalSendUPP;
  188.     (*$IF NOT GENERATINGCFM *)
  189.     INLINE PASCAL $2E9F;
  190.     (*$END*)
  191.  
  192. PROCEDURE NewTerminalBreakProc*(userRoutine: TerminalBreakProcPtr): TerminalBreakUPP;
  193.     (*$IF NOT GENERATINGCFM *)
  194.     INLINE PASCAL $2E9F;
  195.     (*$END*)
  196.  
  197. PROCEDURE NewTerminalCacheProc*(userRoutine: TerminalCacheProcPtr): TerminalCacheUPP;
  198.     (*$IF NOT GENERATINGCFM *)
  199.     INLINE PASCAL $2E9F;
  200.     (*$END*)
  201.  
  202. PROCEDURE NewTerminalSearchCallBackProc*(userRoutine: TerminalSearchCallBackProcPtr): TerminalSearchCallBackUPP;
  203.     (*$IF NOT GENERATINGCFM *)
  204.     INLINE PASCAL $2E9F;
  205.     (*$END*)
  206.  
  207. PROCEDURE NewTerminalClikLoopProc*(userRoutine: TerminalClikLoopProcPtr): TerminalClikLoopUPP;
  208.     (*$IF NOT GENERATINGCFM *)
  209.     INLINE PASCAL $2E9F;
  210.     (*$END*)
  211.  
  212. PROCEDURE NewTerminalEnvironsProc*(userRoutine: TerminalEnvironsProcPtr): TerminalEnvironsUPP;
  213.     (*$IF NOT GENERATINGCFM *)
  214.     INLINE PASCAL $2E9F;
  215.     (*$END*)
  216.  
  217. PROCEDURE NewTerminalChooseIdleProc*(userRoutine: TerminalChooseIdleProcPtr): TerminalChooseIdleUPP;
  218.     (*$IF NOT GENERATINGCFM *)
  219.     INLINE PASCAL $2E9F;
  220.     (*$END*)
  221.  
  222. PROCEDURE NewTerminalToolDefProc*(userRoutine: TerminalToolDefProcPtr): TerminalToolDefUPP;
  223.     (*$IF NOT GENERATINGCFM *)
  224.     INLINE PASCAL $2E9F;
  225.     (*$END*)
  226.  
  227. PROCEDURE CallTerminalSendProc*(thePtr: Types.Ptr; theSize: LONGINT; refCon: LONGINT; flags: Connections.CMFlags; userRoutine: TerminalSendUPP): LONGINT;
  228.     (*$IF NOT GENERATINGCFM*)
  229.     INLINE PASCAL $205F, $4E90;
  230.     (*$END*)
  231.  
  232. PROCEDURE CallTerminalBreakProc*(duration: LONGINT; refCon: LONGINT; userRoutine: TerminalBreakUPP);
  233.     (*$IF NOT GENERATINGCFM*)
  234.     INLINE PASCAL $205F, $4E90;
  235.     (*$END*)
  236.  
  237. PROCEDURE CallTerminalCacheProc*(refCon: LONGINT; theTermData: TermDataBlockPtr; userRoutine: TerminalCacheUPP): LONGINT;
  238.     (*$IF NOT GENERATINGCFM*)
  239.     INLINE PASCAL $205F, $4E90;
  240.     (*$END*)
  241.  
  242. PROCEDURE CallTerminalSearchCallBackProc*(hTerm: TermHandle; refNum: INTEGER; VAR foundRect: Types.Rect; userRoutine: TerminalSearchCallBackUPP);
  243.     (*$IF NOT GENERATINGCFM*)
  244.     INLINE PASCAL $205F, $4E90;
  245.     (*$END*)
  246.  
  247. PROCEDURE CallTerminalClikLoopProc*(refCon: LONGINT; userRoutine: TerminalClikLoopUPP): BOOLEAN;
  248.     (*$IF NOT GENERATINGCFM*)
  249.     INLINE PASCAL $205F, $4E90;
  250.     (*$END*)
  251.  
  252. PROCEDURE CallTerminalEnvironsProc*(refCon: LONGINT; VAR theEnvirons: TermEnvironRec; userRoutine: TerminalEnvironsUPP): Connections.CMErr;
  253.     (*$IF NOT GENERATINGCFM*)
  254.     INLINE PASCAL $205F, $4E90;
  255.     (*$END*)
  256.  
  257. PROCEDURE CallTerminalChooseIdleProc*(userRoutine: TerminalChooseIdleUPP);
  258.     (*$IF NOT GENERATINGCFM*)
  259.     INLINE PASCAL $205F, $4E90;
  260.     (*$END*)
  261.  
  262. PROCEDURE CallTerminalToolDefProc*(hTerm: TermHandle; msg: INTEGER; p1: LONGINT; p2: LONGINT; p3: LONGINT; userRoutine: TerminalToolDefUPP): LONGINT;
  263.     (*$IF NOT GENERATINGCFM*)
  264.     INLINE PASCAL $205F, $4E90;
  265.     (*$END*)
  266.  
  267. PROCEDURE InitTM*(): TMErr;
  268.     EXTERNAL PASCAL;
  269. PROCEDURE TMGetVersion*(hTerm: TermHandle): Types.Handle;
  270.     EXTERNAL PASCAL;
  271. PROCEDURE TMGetTMVersion*(): INTEGER;
  272.     EXTERNAL PASCAL;
  273. PROCEDURE TMNew*((*CONST*)VAR termRect: Types.Rect; (*CONST*)VAR viewRect: Types.Rect; flags: TMFlags; procID: INTEGER; owner: Quickdraw.WindowPtr; sendProc: TerminalSendUPP; cacheProc: TerminalCacheUPP; breakProc: TerminalBreakUPP; clikLoop: TerminalClikLoopUPP; environsProc: TerminalEnvironsUPP; refCon: LONGINT; userData: LONGINT): TermHandle;
  274.     EXTERNAL PASCAL;
  275. PROCEDURE TMDispose*(hTerm: TermHandle);
  276.     EXTERNAL PASCAL;
  277. PROCEDURE TMKey*(hTerm: TermHandle; (*CONST*)VAR theEvent: Events.EventRecord);
  278.     EXTERNAL PASCAL;
  279. PROCEDURE TMUpdate*(hTerm: TermHandle; visRgn: Quickdraw.RgnHandle);
  280.     EXTERNAL PASCAL;
  281. PROCEDURE TMPaint*(hTerm: TermHandle; (*CONST*)VAR theTermData: TermDataBlock; (*CONST*)VAR theRect: Types.Rect);
  282.     EXTERNAL PASCAL;
  283. PROCEDURE TMActivate*(hTerm: TermHandle; activate: BOOLEAN);
  284.     EXTERNAL PASCAL;
  285. PROCEDURE TMResume*(hTerm: TermHandle; resume: BOOLEAN);
  286.     EXTERNAL PASCAL;
  287. PROCEDURE TMClick*(hTerm: TermHandle; (*CONST*)VAR theEvent: Events.EventRecord);
  288.     EXTERNAL PASCAL;
  289. PROCEDURE TMIdle*(hTerm: TermHandle);
  290.     EXTERNAL PASCAL;
  291. PROCEDURE TMStream*(hTerm: TermHandle; theBuffer: (*ΔΔUNIVΔΔ*) Types.Ptr; theLength: LONGINT; flags: Connections.CMFlags): LONGINT;
  292.     EXTERNAL PASCAL;
  293. PROCEDURE TMMenu*(hTerm: TermHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
  294.     EXTERNAL PASCAL;
  295. PROCEDURE TMReset*(hTerm: TermHandle);
  296.     EXTERNAL PASCAL;
  297. PROCEDURE TMClear*(hTerm: TermHandle);
  298.     EXTERNAL PASCAL;
  299. PROCEDURE TMResize*(hTerm: TermHandle; (*CONST*)VAR newViewRect: Types.Rect);
  300.     EXTERNAL PASCAL;
  301. PROCEDURE TMGetSelect*(hTerm: TermHandle; theData: Types.Handle; VAR theType: Types.ResType): LONGINT;
  302.     EXTERNAL PASCAL;
  303. PROCEDURE TMGetLine*(hTerm: TermHandle; lineNo: INTEGER; VAR theTermData: TermDataBlock);
  304.     EXTERNAL PASCAL;
  305. PROCEDURE TMSetSelection*(hTerm: TermHandle; (*CONST*)VAR theSelection: TMSelection; selType: TMSelTypes);
  306.     EXTERNAL PASCAL;
  307. PROCEDURE TMScroll*(hTerm: TermHandle; dh: INTEGER; dv: INTEGER);
  308.     EXTERNAL PASCAL;
  309. PROCEDURE TMValidate*(hTerm: TermHandle): BOOLEAN;
  310.     EXTERNAL PASCAL;
  311. PROCEDURE TMDefault*(VAR theConfig: Types.Ptr; procID: INTEGER; allocate: BOOLEAN);
  312.     EXTERNAL PASCAL;
  313. PROCEDURE TMSetupPreflight*(procID: INTEGER; VAR magicCookie: LONGINT): Types.Handle;
  314.     EXTERNAL PASCAL;
  315. PROCEDURE TMSetupSetup*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; VAR magicCookie: LONGINT);
  316.     EXTERNAL PASCAL;
  317. PROCEDURE TMSetupFilter*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT): BOOLEAN;
  318.     EXTERNAL PASCAL;
  319. PROCEDURE TMSetupItem*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; VAR theItem: INTEGER; VAR magicCookie: LONGINT);
  320.     EXTERNAL PASCAL;
  321. PROCEDURE TMSetupXCleanup*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; OKed: BOOLEAN; VAR magicCookie: LONGINT);
  322.     EXTERNAL PASCAL;
  323. PROCEDURE TMSetupPostflight*(procID: INTEGER);
  324.     EXTERNAL PASCAL;
  325. PROCEDURE TMGetConfig*(hTerm: TermHandle): Types.Ptr;
  326.     EXTERNAL PASCAL;
  327. PROCEDURE TMSetConfig*(hTerm: TermHandle; thePtr: (*ΔΔUNIVΔΔ*) Types.Ptr): INTEGER;
  328.     EXTERNAL PASCAL;
  329. PROCEDURE TMIntlToEnglish*(hTerm: TermHandle; inputPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR outputPtr: Types.Ptr; language: INTEGER): Types.OSErr;
  330.     EXTERNAL PASCAL;
  331. PROCEDURE TMEnglishToIntl*(hTerm: TermHandle; inputPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR outputPtr: Types.Ptr; language: INTEGER): Types.OSErr;
  332.     EXTERNAL PASCAL;
  333. PROCEDURE TMGetToolName*(id: INTEGER; VAR name: Types.Str255);
  334.     EXTERNAL PASCAL;
  335. PROCEDURE TMGetProcID*(name: Types.ConstStr255Param): INTEGER;
  336.     EXTERNAL PASCAL;
  337. PROCEDURE TMSetRefCon*(hTerm: TermHandle; refCon: LONGINT);
  338.     EXTERNAL PASCAL;
  339. PROCEDURE TMGetRefCon*(hTerm: TermHandle): LONGINT;
  340.     EXTERNAL PASCAL;
  341. PROCEDURE TMSetUserData*(hTerm: TermHandle; userData: LONGINT);
  342.     EXTERNAL PASCAL;
  343. PROCEDURE TMGetUserData*(hTerm: TermHandle): LONGINT;
  344.     EXTERNAL PASCAL;
  345. PROCEDURE TMAddSearch*(hTerm: TermHandle; theString: Types.ConstStr255Param; (*CONST*)VAR where: Types.Rect; searchType: TMSearchTypes; callBack: TerminalSearchCallBackUPP): INTEGER;
  346.     EXTERNAL PASCAL;
  347. PROCEDURE TMRemoveSearch*(hTerm: TermHandle; refnum: INTEGER);
  348.     EXTERNAL PASCAL;
  349. PROCEDURE TMClearSearch*(hTerm: TermHandle);
  350.     EXTERNAL PASCAL;
  351. PROCEDURE TMGetCursor*(hTerm: TermHandle; cursType: TMCursorTypes): LONGINT (*ΔΔ Types.Point*);
  352.     EXTERNAL PASCAL;
  353. PROCEDURE TMGetTermEnvirons*(hTerm: TermHandle; VAR theEnvirons: TermEnvironRec): TMErr;
  354.     EXTERNAL PASCAL;
  355. PROCEDURE TMChoose*(VAR hTerm: TermHandle; where: Types.Point; idleProc: TerminalChooseIdleUPP): INTEGER;
  356.     EXTERNAL PASCAL;
  357. PROCEDURE TMEvent*(hTerm: TermHandle; (*CONST*)VAR theEvent: Events.EventRecord);
  358.     EXTERNAL PASCAL;
  359. PROCEDURE TMDoTermKey*(hTerm: TermHandle; theKey: Types.ConstStr255Param): BOOLEAN;
  360.     EXTERNAL PASCAL;
  361. PROCEDURE TMCountTermKeys*(hTerm: TermHandle): INTEGER;
  362.     EXTERNAL PASCAL;
  363. PROCEDURE TMGetIndTermKey*(hTerm: TermHandle; id: INTEGER; VAR theKey: Types.Str255);
  364.     EXTERNAL PASCAL;
  365. PROCEDURE TMGetErrorString*(hTerm: TermHandle; id: INTEGER; VAR errMsg: Types.Str255);
  366.     EXTERNAL PASCAL;
  367.  
  368. (* $ALIGN RESET*)
  369. (* $POP*)
  370.  
  371.  END Terminals.
  372.